bitkeeper revision 1.1291.1.2 (425bf858UzCNdwL5gna8YNNdZ5iYAA)
authormafetter@fleming.research <mafetter@fleming.research>
Tue, 12 Apr 2005 16:33:28 +0000 (16:33 +0000)
committermafetter@fleming.research <mafetter@fleming.research>
Tue, 12 Apr 2005 16:33:28 +0000 (16:33 +0000)
The shadow control hypercall can now invoke shadow translate mode.

xen/arch/x86/shadow.c
xen/include/public/dom0_ops.h

index bf749781bd77dae7aaeca3efe0718316fe3ee24f..0fddfdd9a8a23d590ac51b2997509a844a3de860 100644 (file)
@@ -1228,6 +1228,11 @@ int shadow_mode_control(struct domain *d, dom0_shadow_control_t *sc)
         rc = __shadow_mode_enable(d, d->arch.shadow_mode|SHM_enable|SHM_log_dirty);
         break;
 
+    case DOM0_SHADOW_CONTROL_OP_ENABLE_TRANSLATE:
+        free_shadow_pages(d);
+        rc = __shadow_mode_enable(d, d->arch.shadow_mode|SHM_enable|SHM_translate);
+        break;
+
     default:
         rc = shadow_mode_enabled(d) ? shadow_mode_table_op(d, sc) : -EINVAL;
         break;
index 33c196b8f640497e5187efde81860fedc75b65a4..ad185ae26d4f60a6527570a2d68e170fff022e05 100644 (file)
@@ -242,6 +242,7 @@ typedef struct {
 #define DOM0_SHADOW_CONTROL_OP_OFF         0
 #define DOM0_SHADOW_CONTROL_OP_ENABLE_TEST 1
 #define DOM0_SHADOW_CONTROL_OP_ENABLE_LOGDIRTY 2
+#define DOM0_SHADOW_CONTROL_OP_ENABLE_TRANSLATE 3
 
 #define DOM0_SHADOW_CONTROL_OP_FLUSH       10     /* table ops */
 #define DOM0_SHADOW_CONTROL_OP_CLEAN       11